/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Beans;

import cliente.Cliente;
import cliente.Proveedor;
import cliente.TeLoReparoAdminWS;
import cliente.TeLoReparoAdminWS_Service;
import cliente.Usuario;
import java.math.BigDecimal;

/**
 *
 * @author SergioAlberto
 */
public class UsuarioBean {

    private String clave;
    private String correo;
    private String nombre;
    private String celular;
    private String telefono;
    private String tipoUsario;
    private int codigoPostal;
    private String direccion;
    private String mensaje;

    /**
     * @return the clave
     */
    public String getClave() {
        return clave;
    }

    /**
     * @param clave the clave to set
     */
    public void setClave(String clave) {
        this.clave = clave;
    }

    /**
     * @return the correo
     */
    public String getCorreo() {
        return correo;
    }

    /**
     * @param correo the correo to set
     */
    public void setCorreo(String correo) {
        this.correo = correo;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the celular
     */
    public String getCelular() {
        return celular;
    }

    /**
     * @param celular the celular to set
     */
    public void setCelular(String celular) {
        this.celular = celular;
    }

    /**
     * @return the telefono
     */
    public String getTelefono() {
        return telefono;
    }

    /**
     * @param telefono the telefono to set
     */
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    /**
     * @return the tipoUsario
     */
    public String getTipoUsario() {
        return tipoUsario;
    }

    /**
     * @param tipoUsario the tipoUsario to set
     */
    public void setTipoUsario(String tipoUsario) {
        this.tipoUsario = tipoUsario;
    }

    /**
     * @return the codigoPostal
     */
    public int getCodigoPostal() {
        return codigoPostal;
    }

    /**
     * @param codigoPostal the codigoPostal to set
     */
    public void setCodigoPostal(int codigoPostal) {
        this.codigoPostal = codigoPostal;
    }

    /**
     * @return the direccion
     */
    public String getDireccion() {
        return direccion;
    }

    /**
     * @param direccion the direccion to set
     */
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public void guardarUsuario() {
        Usuario usuario = new Usuario();
        usuario.setClave(clave);
        usuario.setCorreo(correo);
        usuario.setCelular(celular);
        usuario.setTelefono(telefono);
        usuario.setNombre(nombre);

        if (this.tipoUsario.equals("Cliente")) {
            guardaCliente(usuario);
        } else if (this.tipoUsario.equals("Proveedor")) {
            guardaProveedor(usuario);
        }
    }

    private void guardaCliente(Usuario usuario) {
        Cliente cliente = new Cliente();
        cliente.setDireccion(this.direccion);
        cliente.setIdUsuario(usuario);
        usuario.setTipoUsuario(0);
        try {
            TeLoReparoAdminWS_Service service = new TeLoReparoAdminWS_Service();
            TeLoReparoAdminWS port = service.getTeLoReparoAdminWSPort();
            port.crearCliente(cliente);
            mensaje = "Cliente Agregado";
            limpiaCampos();
        } catch (Exception e) {
            mensaje = e.getMessage();
        }
    }

    private void guardaProveedor(Usuario usuario) {
        Proveedor proveedor = new Proveedor();
        proveedor.setCodigoPostal(codigoPostal);
        proveedor.setPromedio(BigDecimal.ZERO);
        proveedor.setIdUsuario(usuario);
        usuario.setTipoUsuario(1);
        try {
            TeLoReparoAdminWS_Service service = new TeLoReparoAdminWS_Service();
            TeLoReparoAdminWS port = service.getTeLoReparoAdminWSPort();
            mensaje = port.crearProveedor(proveedor);
            mensaje = "Proveedor Agregado";
            limpiaCampos();
        } catch (Exception e) {
            mensaje = e.getMessage();
        }
    }

    private void limpiaCampos() {
        this.clave = "";
        this.correo = "";
        this.nombre = "";
        this.celular = "";
        this.telefono = "";
        this.tipoUsario = "";
        this.codigoPostal = 0;
        this.direccion = "";
    }

    /**
     * @return the mensaje
     */
    public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje the mensaje to set
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }
}